/*
 * @lc app=leetcode.cn id=541 lang=java
 *
 * [541] 反转字符串 II
 */

// @lc code=start
class Solution {
    //这个调用函数就行
    public String reverseStr(String s, int k) {
        String ans ="";
        int f = s.length()%(2*k);//额外多出来的单独处理
        for(int i = 0 ;i<s.length()-f;i+=2*k){
            ans+=new StringBuilder(s.substring(i,i+k)).reverse().toString();
            ans+=s.substring(i+k, i+2*k);
        }
        if(f<=k){//说明全部都需要反转
            ans+= new StringBuilder(s.substring(s.length()-f, s.length())).reverse().toString();
        }else{//说明只有前k个需要反转
            ans+= new StringBuilder(s.substring(s.length()-f, s.length()-f+k)).reverse().toString();
            ans+= s.substring(s.length()-f+k,s.length());
        }
        return ans;
    }
}
// @lc code=end

